This project contains several classes

Form1: contains the gui and most of the work functions
FTPInterface: contains the funcionality to upload files and create directories
About: contains a gui with the about box
FTPSetup: contains a gui to setup the ftp information
XMLStorage: contains funcionality to save the key information to a xml file

XMLStorage:
has two static functions to save and load from the xml file.  It will initially create
a xml file if one does not exists.  Also all member variables are public so they could
be accessed by other classes.

About, FTPSetup
just a gui

FTPInterface:
This class is to be used when backing up files to the ftp site.  First call
SetupFTP() which creates the directory (named after the datetime)
WriteDirectory(String Directory) creates a directory in the ftp site 
WriteFileAsnyc(String fullName, String fileName) writes a file using code from visual studios help file to write files
   Asyncronously.  This allows it to be possible to printout the status of an upload.
   fullName is the name of the file on the harddisk, filename is the parsed name that should be sent to the ftp site
   EndGetStreamCallback, EndGetResponseCallback: these two are from the visual studios help file
WriteFile(String fullName, String fileName): my own version used to upload files syncronously not used any more

Form1:
This contains most of the actual code.  Just the way the development worked, the project started with syncronous uploading.
When switched to asyncronous, basically all the ftp request would occur instantly and kill performance.  To change this 
a command list (pretty much a queue) was created that backs all the backup instructions to the list, which then gets queried
in the timer1_Tick function which runs a new backup instruction if the previous one is done.  This thing complicats it a bit,
but otherwise it is straightfowards.  Each directory is searched for files which are uploaded, and if required, the subdirectories
are also backuped.


GUI stuff
btnAddDirectory_Click
btnDelDirectory_Click
btnToggleSubDir_Click
btnAbout_Click
btnDoBackup_Click
dateTimePicker1_ValueChanged

helpers:
CreateBackupList Creates the backup list (called by the event handler)
SaveDirectoriestoXML: Save the directories stored in the form to the xml
WriteLine: Write a line to the console
EnterState: This is what is used to write out the upload status in bytes
timer1_Tick: used when a timer tick happens.  Checks to see if a file could be sent.  If so one is.




